package com.wing.file.service;

import com.wing.file.model.response.FileVO;
import com.wing.file.util.FileType;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface AbstractService {
    /**
     * 上传文件接口
     * @param file
     * @param path
     * @return
     * @throws Exception
     */
     FileVO uploadFile(MultipartFile file, String path) throws Exception;

    /**
     * 文件服务器种类
     * @return
     */
    FileType getFileType();

    /**
     * 下载文件
     * @param fileUrl 文件地址
     * @param response 响应数据
     */
    void downloadFile(String fileUrl, HttpServletResponse response) throws Exception;

    /**
     * 上传文件接口
     * @param file
     * @param path
     * @return
     * @throws Exception
     */
    List<FileVO> uploadMultipartFile(MultipartFile[] file, String path) throws Exception;


    List<FileVO> listObjects(String path) throws Exception;
}
